The Internet provides a platform through which data can be exchanged between end users that are located all across the world. Providers of content including audio and video media (e.g., songs, movies, video games, etc.), applications (e.g., Adobe's® Creative Suite and Microsoft's® Office), and electronic services (e.g., remote bug fixing) have realized how they can leverage this platform in order to improve the distribution of their content. Specifically, such content used to require a trip to a brick-and-mortar store in order to purchase a physical medium on which the content was stored. Now such content can be identified by, downloaded to, and executed on an end user's machine (e.g., computer or electronic device) without ever leaving one's home or office. The end user can even acquire the content while on-the-go using 3G or 4G wireless data networks (e.g., Worldwide Interoperability for Microwave Access (WiMAX) and Long Term Evolution (LTE)).
This distribution model lowers the cost in obtaining the content as physical media transfer, packaging, and the intermediary retailer are eliminated. Furthermore, this distribution model provides the convenience of searching and comparing content from one's machine at any time of day with delivery of the content beginning as soon as the end user clicks on a link. As a result, the way in which end users obtain much of their music, movies, games, and other digital content occurs across data networks such as the Internet.
A problem many users have with this distribution model is with the time needed to download the content. Such content may include software applications, video games, movies, etc. that are on the order of hundreds of megabytes or several gigabytes. It takes several minutes or hours to completely download such content using high speed data connections. During the download period or when the end user realizes the amount of time needed to complete the download, the end user may lose interest in the content and, as a result, cancel the download. Downloads may also be canceled because of network failures, hardware failures, or software failures. As a result of some such failures, the end user downloads the same content from the beginning. Having to redownload content may result in the end user altogether canceling the download. Cancellation of a download can result in a lost transaction which in turn can result in lost revenue to a content provider or a distributor of content, such as a Content Delivery Network (CDN).
Various download managers have been developed to remedy the problems associated with downloading large content or large amounts of content. A download manager is a software application, script, or set of executable instructions that runs on the end user machine and allows a download to be paused, resumed, or reestablished. Using the download manager, the end user can complete a download through a set of discontinuous download sessions. In the event of failure, the download manager allows an end user to continue a download from the point of failure. Additionally, some download managers provide information for troubleshooting issues that occur during a download, such as a firewall setting that prevents content from being downloaded.
However, current download managers have several shortcomings that limit their use or cause them to be used only when required. Many download managers are generic to the point of offering only basic pause and resume functionality without any of the reporting or other specialized functionality. In some such instances, the download manager is seen as an unnecessary “bloatware” application.
Other download managers are specific to a particular content provider and provide specialized functionality, but only for that particular content provider. For example, when an end user purchases and downloads a music file from Amazon.com, the end user first downloads and installs the Amazon.com download manager. When the same end user purchases a music file from the iTunes music store, the end user first downloads and installs the iTunes application which comes integrated with its own download manager. As a consequence, the end user duplicates the effort and time that is spent downloading and installing a download manager. Some end users may opt out of the download when they realize the added steps and time that are needed to install a different download manager. Other end users may not wish to alter their machines by installing additional software for fear of adding bloatware, malware, or software that originates from a site or vendor that is not trusted. Furthermore, such a proprietary download manager imposes various burdens on the content provider. Specifically, the content provider will experience development costs in order to develop the download manager application with the desired specialized functionality. These development costs are further exacerbated when the application is required to support end users with machines that run on different platforms. Moreover, the content provider will require additional network infrastructure to distribute not only its content but also the proprietary download manager application.
Some such obstacles may be overcome by using a CDN to distribute the content on behalf of the content provider. Specifically, the CDN provides an infrastructure with sufficient bandwidth and computing resources to distribute large amounts of content to large quantities of end users. However, to download the content from the CDN, the end user in many instances first downloads and installs a download manager of the CDN. A shortcoming of the CDN download manager is that it is controlled and managed by the CDN. Accordingly, the download manager cannot be customized on a per content provider basis. Consequently, the CDN download manager is usually an ineffective reporting or analytic tool for the content providers whose content is distributed by the CDN. Even when the CDN download manager provides some reporting, it is often the case that such reporting does provide detailed information to the content provider since the download manager is usually provided only a URL from which to download content from the CDN. This URL does not identify the end user, an order number, or other information that provides the content provider with valuable information when analyzing the other reported information. To alleviate this problem, some CDNs utilize different download mangers for content supplied by different content providers. However, this reintroduces the earlier problem in which end users download and install different download managers for different content providers.
Accordingly, there is a need to provide a unified download manager that manages content downloads from multiple content providers and/or CDNs such that a separate instance of a download manager need not be installed when content is supplied by a different content provider. There is a need for such a download manager to be able to report information back to any desired destination irrespective of where the content is downloaded from. There is a need for flexibility in the download manager and in the reporting such that content providers can specify what information is important to report. Moreover, there is a need for the download manager to engage the end user during a download to minimize the possibility of the end user canceling a download before it is completed.